Load Characteristic Model: PERC2
Available in July 28, 2026 path of Version 24
PERC2 is an acronym for the Power Electronic Reconnecting and Ceasing load model.
PERC2 is a modification of the PERC1 model which itself is based on LDEV1 which was based on the model developed by EPRI summarized in the November 2022 report entitled
"A Positive Sequence Model for Aggregated Representation Electric Vehicle Chargers"
EPRI Project 1-116982
written by L. Sundaresh and P. Matra
The model expands the PERC1 model from 30 input parameters to 57 to provide additional features and complexity. If PERC1 is appropriate for modeling your load, we would recommend using PERC1 as it is less complex. As with PERC1, this model is appropriate to represent any aggregation of a large number of power electronic loads. Examples would be an electrical vehicle charging, a large number of computers such as a data center, a cryptocurrency mining facility, a large number of variable frequency drives, and so on.
The changes made to PERC1 to create the PERC2 are as follows.
-
(Change of interpretation for Tramp values. )
After releasing the PERC1 model in 2025, it became clear that the Tramp value represents not a time, but instead a ramp rate used when devices come back from a cease event. Tramp was changed in PERC2 so that it now represents the time over which a ramp occurs when the portion of the model that reconnects goes from fully ceased to the fully reconnected when operating at rated power. Because the device limit is actually a ramp rate limit, if the device is operating at a fraction of its rated power, then the amount of time for the ramp should be scaled by this fraction. The parameter Lfm represents the Load factor of the device. Internally in the model, a value TrampUsed will be calculated as equal to Tramp*Lfm. Thus if it takes 10 seconds to ramp when operating at rating power, then if Lfm = 0.30 it will instead only take 3 seconds to ramp. Same logic will be applied when using the TLrampL and TLrampH values as well. -
(Add 1 parameter)
Imax added a total current limit which is used in combination with the existing Ipmin, Ipmax, Iqmin, and Iqmax values. A value of 0 can be entered for Imax to indicate the parameter is not used. -
(Add 1 parameter)
The Reconnection Zone adds a high voltage threshold (VLrecon <= Vfilt <= VHrecon). Previous Vrecon is now called VLrecon. -
(Add 1 parameter)
The Cease zone adds a high voltage threshold (VLcease <= Vfilt <= VHcease). Previous Vcease is now called VLcease. -
(Add 10 parameters)
Four Long Cease Low Voltage threshold/timer pairs (VLC1/TVLC1 ... VLC4/TVLC4) for a low voltage cease zone. When entering this zone the time for reconnection is TLreconL and the time for ramping is TLrampL*Lfm) (These represent a Long reconnection and ramp time for a Low voltage excursion). As indicated by the names, the expectation is that this times will be longer than for the original Cease Zone. -
(Add 10 parameters)
Four Long Cease High Voltage threshold/timer pairs (VHC1/TVHC1 ... VHC4/TVHC4) for a high voltage cease zone. When entering this zone the time of reconnection is (TLreconH and the time for ramping is TLrampH*Lfm) (These represent the Long reconnection and ramp time for a High voltage excursion). As indicated by the names, the expectation is that this times will be longer than for the original Cease Zone. -
(Add 4 parameters)
Both Low and High Frequency threshold/timer pairs (FLC1/TFLC1 and FHC1/TFHC1) for a frequency cease zone. When entering this zone, then no reconnection will occur.
Description of the PERC2
This model can be used to represent any aggregation of a large number of power electronic loads. Examples would be an electrical vehicle charging station, a large number of computers such as a data center, a crypto-currency mining facility, a large number of variable frequency drives, and so on.
The values MWinit and Mvarinit on the left of the block diagram below are calculated as part of the stability simulation initialization routine. MWInit is set equal to the initial MW of the load. When this model is used inside the CompLoad component-based load structure, then the parameter QPRatio is used to calculate the Mvarinit value and any extra Mvars are assigned as done with the CompLoad. When this model is used as a stand-alone model as part of a LoadModelGroup, Load, Bus, Area, etc. then the QPRatio is ignored and the Mvarinit is set equal to the load's initial Mvar. If a simple event occurs in the simulation and the final voltage returns to the initial voltage and the cease and reconnect logic is never engaged during the simulation, then this model will bring the MW and Mvar back to the same as the initial condition. The top half of the block diagram below represents the real power (MW) response of the load while the bottom half of the block diagram represents the reactive power (Mvar) response.
The dynamic portion of this model is described in the left side of the block diagram by the dynamic states 1 - 6 . The washout blocks (Kvp/Tvp and Kvq/Tvq parameters) model a response where the model load will decrease when a decreasing voltage is encountered (such as after and during a fault) and the load will then increase when the voltage is increasing (during fault recovery). This is meant to model a device such as a variable frequency drive which may reduce the electrical power during a fault, but then after the fault clears an additional amount of load will be seen to re-accelerate the mechanical load that the VFD is driving. This model is not simulating any characteristics of the mechanical load or the control system that causes this behavior, but is using the simple washout blocks to approximation the behavior. The MW control path also includes a simple frequency droop with deadband response that the load may have. After this the lead lag blocks are used to model any other transient response of the real and reactive loads. This leads to States 1 and 2 in the block diagram below which represent the model's request for a per unit power based on the initial voltage Vinit.
After this, both the real power and reactive portions of this model have a user input which is the exponent of the voltage relationship relative to the initial voltage. Any value of nP and nQ is allowed, but it is useful to realize that nP = 0 indicates a constant power at steady state, nP = 1 indicates constant current, and nP = 2 indicates constant impedance. After the exponent, it then divides by per unit voltage to convert to a current signal. The limits Ipmax/Ipmin or Iqmax/Iqmin are then used in conjunction with Imax to calculated IpmaxUsed/IpminUsed and IqmaxUsed/IqminUsed. Please see the detailed pseudo-code at the bottom of this help topic for details of how these current limits are enforced.
Next the current is multiplied by a value FracOn which represents the fraction of the load that remains connected to the system. The FracOn models the Cease and Reconnect logic.
PERC1 logic was relatively simple: if the filtered voltage is less than Vcease for more than Tcease seconds, then a decision to cease a portion of the load is made. Then, after an additional delay of Tdelay seconds, the FracOn is reduced to a value of (1 - Fcease). Then the system will wait to see if the filtered voltage goes above Vrecon for more than Trecon seconds at which time it will begin ramping the FracOn value back up over a time of Tramp seconds to a value of (1 - Fcease + Fcease*Frecon).
PERC2 expands on this logic a lot by including 4 different zones in which ceasing may occur along with 4 different Reconnection and Ramping times as described in the following table.
|
Zone |
Logic to Enter Zone |
TreconUsed and TrampUsed |
After the Zone is reached , what other zones continue to be checked |
|
|
Cease Zone (Blue Zone) |
(Vfilt < VLcease ) for Tcease seconds OR (Vfilt > VHcease) for Tcease seconds |
TreconUsed = Trecon TrampUsed = Tramp*Lfm |
Long Cease High Zone Long Cease Low Zone Frequency Zone |
|
|
Long Cease Low Voltage Zone (Red Zone) |
4 low voltage threshold/timer pairs (VLC1/TVLC1, etc.) |
TreconUsed = TLreconL TrampUsed= TLrmapL |
Frequency Zone |
|
|
Long Cease High Voltage Zone (Purple Zone) |
4 high voltage threshold/timer pairs (VHC1/TVHC1, etc.) |
TreconUsed = TLreconH TrampUsed= TLrmapH |
Frequency Zone |
|
|
High or Low Frequency Zone |
1 low and 1 high frequency threshold/timer (VHC1/TVHC1 OR VLC1/TVLC1) |
TrecondUsed = Infinite TrampUsed = Infinite |
Nothing is checked Reconnection will never occur |
Additional detail is included below to describe how these timers are reset and how a voltage drops after the model begins ramping is handled. See the pseudo-code and diagrams below for more details.
Finally, the output goes through another delay block using the Tt time constant to result a final desired current for each path. The treatment of this model in the algebraic network boundary equations is then a constant current.
Model Equations and/or Block Diagrams
Model Parameters
Added the 6 integer flags at the start of the parameter list in September 25, 2026 patch of Simulator 24
|
Index |
Parameter |
Description |
Default |
|
0 |
VLMflag |
Low Voltage cease check (0 to not do the check; Else do the check) |
1 |
|
1 |
VHMflag |
High Voltage cease check (0 to not do the check; Else do the check) |
1 |
|
2 |
VLLflag |
Long Low Voltage cease check (0 to not do the check; Else do the check) |
1 |
|
3 |
VHLflag |
Long High Voltage cease check (0 to not do the check; Else do the check) |
1 |
|
4 |
FLflag |
Low Frequency cease check (0 to not do the check; Else do the check) |
1 |
|
5 |
FHflag |
High Frequency cease check (0 to not do the check; Else do the check) |
1 |
|
6 |
Lfm |
Loading factor used to calculate MVAbase of model as MWinit/Lfm. If Lfm < 0.001 then software will use a value of 1.000 |
0.80 |
|
7 |
QPratio |
Q/P ratio for Q0 computation from P0 when used as a component of a CompLoad. When used as a stand-alone load model, Q0 = Qinit always. |
0.66 |
|
8 |
Tt |
Time delay for outputs [seconds] (If < 4*TimeStep will be treated as 4*TimeStep) |
0.02 |
|
9 |
Tv |
Voltage measurement time constant [s] |
0.02 |
|
10 |
Tf |
Frequency measurement time constant [s] |
0.02 |
|
11 |
Dbdl |
Deadband on frequency response low (<=0) [pu] |
0.00 |
|
12 |
Dbdh |
Deadband on frequency response high (>=0) [pu] |
0.00 |
|
13 |
Kdroop |
Frequency droop [per unit] |
10.00 |
|
14 |
Kvp |
Proportional constant for active power washout |
0.02 |
|
15 |
Tvp |
Time constant for active power washout [seconds] |
0.02 |
|
16 |
Kvq |
Proportional constant for reactive power washout |
0.50 |
|
17 |
Tvq |
Time constant for reactive power washout [seconds] |
0.10 |
|
18 |
Tap |
Lead time constant for real power path [seconds] |
0.00 |
|
19 |
Tbp |
Lag time constant for real power path [seconds] |
0.00 |
|
20 |
Taq |
Lead time constant for reactive power path [seconds] |
0.00 |
|
21 |
Tbq |
Lag time constant for reactive power path [seconds] |
0.00 |
|
22 |
nP |
Active Power Exponential |
0.00 |
|
23 |
nQ |
Reactive Power Exponential |
1.00 |
|
24 |
Ipmax |
Maximum Ip [per unit] |
1.00 |
|
25 |
Ipmin |
Minimum Ip [per unit] |
0.00 |
|
26 |
Iqmax |
Maximum Iq [per unit] |
0.66 |
|
27 |
Iqmin |
Minimum Iq [per unit] |
-0.66 |
|
28 |
Imax |
Maximum total current [per unit] |
2.00 |
|
29 |
Fcease |
Fraction that will cease (between 0 and 1) |
1.00 |
|
30 |
Frecon |
Of the
fraction that ceases, this is the fraction that then reconnects
(>=0). |
1.00 |
|
31 |
Tdelay |
Time delay to cease after detection. Same for delay for all cease zones (>= 0) [seconds] |
0.00 |
|
32 |
VLrecon |
Low Voltage threshold to initiate power ramp reconnection logic [per unit] |
0.80 |
|
33 |
VHrecon |
High Voltage threshold to initiate power ramp reconnection logic [per unit] |
2.00 |
|
34 |
Tramp |
Cease
logic Ramp up time for portion of load that reconnects to ramp from |
0.15 |
|
35 |
Trecon |
Reconnection time delay for ramp up logic to be initiated for cease logic [per unit] |
0.05 |
|
36 |
VLcease |
Low Voltage threshold for the Cease logic [per unit] |
0.80 |
|
37 |
VHcease |
High
Voltage threshold for the Cease logic [per unit] |
2.00 |
|
38 |
Tcease |
Low Time delay for Cease logic to be initiated (>= 0) [seconds] |
0.01 |
|
39 |
TLrampL |
Long Low Cease logic Ramp up time. (>= 0) [seconds]. TrampUsed = TrampLL*Lfm |
5.00 |
|
40 |
TLreconL |
Long Low Cease Time delay for ramp up logic to be initiated (>= 0) [seconds] |
0.05 |
|
41 |
VLC1 |
First Low Voltage threshold for Long Cease [per unit] |
0.90 |
|
42 |
TVLC1 |
First Low Time delay for Long Cease to be initiated (>= 0) [seconds] |
2.00 |
|
43 |
VLC2 |
Second Low Voltage threshold for Long Cease [per unit] |
0.80 |
|
44 |
TVLC2 |
Second Low Time delay for Long Cease to be initiated (>= 0) [seconds] |
0.50 |
|
45 |
VLC3 |
Third Low Voltage threshold for Long Cease [per unit] |
0.50 |
|
46 |
TVLC3 |
Third Low Time delay for Long Cease to be initiated (>= 0) [seconds] |
0.25 |
|
47 |
VLC4 |
Fourth Low Voltage threshold for Long Cease [per unit] |
0.35 |
|
48 |
TVLC4 |
Fourth Low Time delay for Long Cease to be initiated (>= 0) [seconds] |
0.15 |
|
49 |
TLrampH |
Long High Cease logic Ramp up time. (>= 0) [seconds]. TrampUsed = TrampLL*Lfm |
5.00 |
|
50 |
TLreconH |
Long High Cease Time delay for ramp up logic to be initiated (>= 0) [seconds] |
0.05 |
|
51 |
VHC1 |
First High
Voltage threshold for Long Cease [per unit] |
1.10 |
|
52 |
TVHC1 |
First High Time delay for Long Cease to be initiated (>= 0) [seconds] |
1.00 |
|
53 |
VHC2 |
Second
High Voltage threshold for Long Cease [per unit] |
2.00 |
|
54 |
TVHC2 |
Second High Time delay for Long Cease to be initiated (>= 0) [seconds] |
99.00 |
|
55 |
VHC3 |
Third High
Voltage threshold for Long Cease [per unit] |
2.00 |
|
56 |
TVHC3 |
Third High Time delay for Long Cease to be initiated (>= 0) [seconds] |
99.00 |
|
57 |
VHC4 |
Fourth
High Voltage threshold for Long Cease [per unit] |
2.00 |
|
58 |
TVHC4 |
Fourth High Time delay for Long Cease to be initiated (>= 0) [seconds] |
99.00 |
|
59 |
FLC1 |
Low Frequency Threshold for Forever Cease [Hz] |
57.00 |
|
60 |
TFLC1 |
Low Frequency Time Delay for Forever Cease to be initiated (>= 0) [seconds] |
999.00 |
|
61 |
FHC1 |
High Frequency Threshold for Forever Cease [Hz] |
63.00 |
|
62 |
TFHC1 |
High Frequency Time Delay for Forever Cease to be initiated (>= 0) [seconds] |
999.00 |